﻿using System;
using System.Collections.Generic;

namespace JNPF.Utils
{
    /// <summary>
    /// ICache
    /// 版 本：V3.0.0
    /// 版 权：引迈信息技术有限公司（https://www.jnpfsoft.com）
    /// 作 者：JNPF开发平台组
    /// </summary>
    public interface ICache
    {
        List<string> GetAllKeys();
        DateTime GetLiveTime(string key);
        string Get(string key);
        T Get<T>(string key) where T : class;
        bool Exists(string key);
        List<string> GetHashValues(string key);
        List<string> GetHashKeys(string key);
        void Insert<T>(string key, T obj) where T : class;
        void Insert<T>(string key, T obj, TimeSpan? expiresAt) where T : class;
        void InsertHash(string key, string hashId, string value);
        void Remove(string key);
    }
}
